package org.nf.vrs.authenticate.inf;

import java.util.Map;

/**
 * @author duang
 * @date 2022/3/30
 */
public interface UserTokenService {
    /**
     * 创建token
     * @param payload
     * @param ttl
     * @return
     */
    String create(Map<String,Object> payload, long ttl);

    /**
     * 校验token是否有效
     * @param token
     */
    void verify(String token);

    /**
     * 获取载体内容
     * @param token
     * @param name
     * @param type
     * @param <T>
     * @return
     */
    <T> T getPayload(String token, String name, Class<T> type);
}